package com.example.hotelsystem.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.hotelsystem.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.hotelsystem.result.Result;
import com.example.hotelsystem.vo.user.UserSearchVO;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Lee
 * @since 2020-10-13
 */
public interface UserService extends IService<User> {
    /*
    直接获取全部用户列表
     */
    public List<User> getList();

    public User selectById(Long userId);


    /*
    分页获取用户列表
     */
    public Result userList(Integer currentPage);

    /*
    添加用户
     */
    public Result insertUser(User user);



    /*
    修改用户信息，用作个人中心
     */
    public Result updateUser(User user);


    public Result changePassword(String email,String password);

    /*
    Excel打印出所有用户的信息
     */
    public Result ExportExcelUserList(HttpServletResponse response);



    /*
    Excel批量导入用户信息
     */
    public Result ImportExcelUser(MultipartFile file);



    /*
    以pdf文件导出用户信息
     */
    public ModelAndView ExportUserPdf(User user);



    /*
    多条件模糊查找用户信息
     */
    public IPage<User> SearchUser(UserSearchVO vo);

    /*
    查看用户详情
     */
    public User GetUserView(Long id);


    /*
    用户上传头像
     */
    public Result UserUploadImg(MultipartFile file);
}
